package uk.ac.qub.midorfeed;

/**
 * Class to represent the various heroes found within Dota 2
 * 
 * @author Graeme
 * 
 */
public class Hero {

	/**
	 * Private String representing the heroes name
	 */
	private String heroName;

	/**
	 * Private int for heroes unique ID used by the suggestion server
	 */
	private int heroID;

	/**
	 * Private int reference to the hero sound file located in res/raw folder
	 */
	private int heroSound;

	/**
	 * Private int reference to the hero image located in res/drawable
	 */
	private int heroImage;

	/**
	 * Constructor for the class
	 * 
	 * @param heroName
	 *            - String hero name
	 * @param heroID
	 *            - int hero ID
	 * @param heroSound
	 *            - int hero sound
	 * @param heroImage
	 *            - int hero image
	 */
	public Hero(String heroName, int heroID, int heroSound, int heroImage) {
		this.setHeroName(heroName);
		this.setHeroID(heroID);
		this.setHeroSound(heroSound);
		this.setHeroImage(heroImage);
	}

	/**
	 * Sets the hero name
	 * 
	 * @param heroName
	 *            - String hero name
	 */
	public void setHeroName(String heroName) {
		this.heroName = heroName;
	}

	/**
	 * Returns the heroes ID
	 * 
	 * @return - int hero id
	 */
	public int getHeroID() {
		return heroID;
	}

	/**
	 * Sets hero ID
	 * 
	 * @param heroID
	 *            - int hero id
	 */
	public void setHeroID(int heroID) {
		this.heroID = heroID;
	}

	/**
	 * Returns int reference to hero sound in res/raw folder
	 * 
	 * @return
	 */
	public int getHeroSound() {
		return heroSound;
	}

	/**
	 * Sets hero sound
	 * 
	 * @param heroSound
	 *            - int reference to location in res/raw folder
	 */
	public void setHeroSound(int heroSound) {
		this.heroSound = heroSound;
	}

	/**
	 * Returns int reference to hero image in res/drawable folder
	 * 
	 * @return
	 */
	public int getHeroImage() {
		return heroImage;
	}

	/**
	 * Sets the hero image
	 * 
	 * @param heroImage
	 *            - int reference to location in res/drawable
	 */
	public void setHeroImage(int heroImage) {
		this.heroImage = heroImage;
	}

	/**
	 * To String method to return hero name
	 * 
	 * @return - String hero name
	 */
	@Override
	public String toString() {
		return heroName;

	}
}
